home *** CD-ROM | disk | FTP | other *** search
- (*----------------------------------------------------------------------*)
- (* Color_Screen_Active --- Determine if color or mono screen *)
- (*----------------------------------------------------------------------*)
-
- FUNCTION Color_Screen_Active : BOOLEAN;
-
- (*----------------------------------------------------------------------*)
- (* *)
- (* Function: Color_Screen_Active *)
- (* *)
- (* Purpose: Determines if color or mono screen active *)
- (* *)
- (* Calling Sequence: *)
- (* *)
- (* Color_Active := Color_Screen_Active : BOOLEAN; *)
- (* *)
- (* Color_Active --- set to TRUE if the color screen is *)
- (* active, FALSE if the mono screen is *)
- (* active. *)
- (* *)
- (* Calls: INTR *)
- (* *)
- (*----------------------------------------------------------------------*)
-
- VAR
- Regs : RECORD (* 8088 registers *)
- Ax, Bx, Cx, Dx, Bp, Si, Di, Ds, Es, Flags : INTEGER;
- END;
-
- BEGIN (* Color_Screen_Active *)
-
- Regs.Ax := 15 SHL 8;
-
- INTR( $10 , Regs );
-
- Color_Screen_Active := ( Regs.Ax AND $FF ) <> 7;
-
- END (* Color_Screen_Active *);
-
- (*----------------------------------------------------------------------*)
- (* Get_Screen_Address --- Get address of current screen *)
- (*----------------------------------------------------------------------*)
-
- PROCEDURE Get_Screen_Address( VAR Actual_Screen : Screen_Ptr );
-
- (*----------------------------------------------------------------------*)
- (* *)
- (* Procedure: Get_Screen_Address *)
- (* *)
- (* Purpose: Gets screen address for current type of display *)
- (* *)
- (* Calling Sequence: *)
- (* *)
- (* Get_Screen_Address( Var Actual_Screen : Screen_Ptr ); *)
- (* *)
- (* Actual_Screen --- pointer whose value receives the *)
- (* current screen address. *)
- (* *)
- (* Calls: Color_Screen_Active *)
- (* *)
- (*----------------------------------------------------------------------*)
-
- BEGIN (* Get_Screen_Address *)
-
- IF Color_Screen_Active THEN
- Actual_Screen := PTR( Color_Screen_Address , 0 )
- ELSE
- Actual_Screen := PTR( Mono_Screen_Address , 0 );
-
- END (* Get_Screen_Address *);